From: Sean Whitton Date: Tue, 19 Aug 2025 11:15:27 +0000 (+0100) Subject: Merge tag '10.20250721' X-Git-Tag: archive/raspbian/10.20251029-1+rpi1~1^2~7 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=adfbaa7df19d14e06257705f324d4b75ec8a8f82;p=git-annex.git Merge tag '10.20250721' tagging package git-annex version 10.20250721 # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEKKUAw1IH6rcvbA8l2xLbD/BfjzgFAmh/1GMACgkQ2xLbD/Bf # jzjeyg//c9bd9YJ/3aqn20kVAg6TQybTc/Vh/8BQn/3h8y1q2Ib123Jj4Vl7PhFX # f2a7yAPTDM/xf67M2a/aD7p8O1T4ebLCmSV3YrVPTMsGZddN3c6agyZfYDspeNsQ # huWqfSz0BLAt1i++olq6CKjPMy069Vsle+UUleZ2bVh32/Rr7+YKl47jm9VU6/3O # YGYzaIpatDqasOx9CBpvNNS4XJOdfBc2LdqBizfNlv+V4TJBsgST54c4hJczoFWy # afQouH/g4pAsQa/S4BAOk/aM6taxVKoBTUdoAX791KMr26M/rbaPpFK7bbGr1Iy7 # cqYeiLkq0xL2QWKI+D5rTYHBjA0sWmJ9sQSVDkh/DJsSn2ZPCwPhBwbOSa2URr8V # /yTKE7+uYy1BWisqZBnZrfzBEZkS5MiLwsXTEU7S+feQpyc3Z96A/AK1GJDViFTr # 20+3ldhapuHZsQZCWDAZzqK8UljqkgeqVge/6eNy36suPfWT+71TzaHMx5FYd5IG # 0m/IiYe2XNf5T8hnNeTvt4aZNdNRvbzXXxN4r8swGjZsC+3gE+3QnjquXQY+kbNK # 5el0/vgWk4VHWfeT0Q1+4jj/6u54B12qx51zHdIh1ZcUc1ec60BwzAH7FdtKrEbV # jq4P7KMFC0ee1wPa7DmGy7Sv4kiEPw5pljug0vKov7o/OydV91I= # =hn1r # -----END PGP SIGNATURE----- # gpg: Signature made Tue 22 Jul 2025 19:11:47 BST # gpg: using RSA key 28A500C35207EAB72F6C0F25DB12DB0FF05F8F38 # gpg: Good signature from "Joey Hess " [full] # Primary key fingerprint: E85A 5F63 B31D 24C1 EBF0 D81C C910 D922 2512 E3C7 # Subkey fingerprint: 28A5 00C3 5207 EAB7 2F6C 0F25 DB12 DB0F F05F 8F38 --- adfbaa7df19d14e06257705f324d4b75ec8a8f82 diff --cc Database/Keys.hs index 22962e1372,d3fce7bbd8..a374aa49d2 --- a/Database/Keys.hs +++ b/Database/Keys.hs @@@ -327,22 -327,23 +327,31 @@@ reconcileStaged dbisnew qh = ifM notnee processor l False `finally` void cleanup - -- Avoid running smudge clean filter, which would block trying to - -- access the locked database. git write-tree sometimes calls it, - -- even though it is not adding work tree files to the index, - -- and so the filter cannot have an effect on the contents of the - -- index or on the tree that gets written from it. - getindextree = inRepo $ \r -> writeTreeQuiet $ r - { gitGlobalOpts = gitGlobalOpts r ++ bypassSmudgeConfig } + -- This avoids running git write-tree when run by the smudge clean + -- filter, in order to work around a bug in git. That causes + -- git merge to fail with an internal error when git write-tree is + -- run by the smudge clean filter in conflicted merge situation. + -- + -- When running git write-tree, avoid it running the smudge clean + -- filter, which would block trying to access the locked database. + -- git write-tree sometimes calls it, even though it is not adding + -- work tree files to the index, and so the filter cannot have an + -- effect on the contents of the index or on the tree that gets + -- written from it. + getindextree = ifM (Annex.getState Annex.insmudgecleanfilter) + ( return Nothing + , inRepo $ \r -> writeTreeQuiet $ r + { gitGlobalOpts = gitGlobalOpts r ++ bypassSmudgeConfig } + ) + notneeded = isBareRepo + -- Avoid doing anything when run by the + -- smudge clean filter. When that happens in a conflicted + -- merge situation, running git write-tree + -- here would cause git merge to fail with an internal + -- error. This works around around that bug in git. + <||> Annex.getState Annex.insmudgecleanfilter + diff old new = -- Avoid running smudge clean filter, since we want the -- raw output, and it would block trying to access the